
import SkillCfg from "../data/static/SkillCfg";
import BattleObj from "../logic/battle/BattleObj";
import SkillTriggerMgr from "./triggers/SkillTriggerMgr";

export default class Skill{
    id:number;//技能id
    cfg:SkillCfg;//技能配置
    cd:number;//技能cd
    owner:BattleObj;//技能所属者
    triggerMgr:SkillTriggerMgr;//技能触发管理器，一般被动技能才有
    subSkills:Skill[];//技能子技能
    active:boolean = true;//技能激活状态，羁绊技能要激活后才能使用
    unlocked:boolean = false;//技能解锁状态，解锁->激活

    constructor(skillId:number, owner:BattleObj){
        this.id = skillId;
        this.owner = owner;
        //TODO 技能配置从配置表中拿
        this.triggerMgr = new SkillTriggerMgr(owner);
        this.init();
    }
    init() {
        //TODO 根据cfg判断技能类型
        //主动技能则检查是否有子技能，有的化添加子技能
        //被动技能则添加触发器,触发参数从配置中拿
        this.triggerMgr.addTrigger(this.id,[]);
    }
}